1. Field
The present disclosure relates to hash table data structures. More particularly, the disclosure concerns adaptive hash table resizing.
2. Description of the Prior Art
By way of background, hash tables provide useful data structures for many applications, with various convenient properties such as constant average time for accesses and modifications. When a hash table is shared for reading and writing by concurrent applications, some form of synchronization mechanism is required to maintain internal consistency. If there is a requirement for the concurrent applications to scale to many tasks on many processors, the hash tables they use must also scale. This means that the hash table synchronization mechanism must support scalability in addition to concurrency. In some cases, there may be a further need for dynamic hash table resizing in order to improve performance, reduce memory utilization, or for other reasons. Providing support for hash table resizability, scalability and concurrency may therefore be desirable.